import tkinter as tk
from tkinter import ttk
import 根据小说名字进行搜索 as demo

def show():
    #获取输入框的值
    word = name_va.get()
    print('输入的名字是：',word)
    novel_info()
def download():
    #获取输入框的值
    word = name_va.get()
    print('输入的名字是：',word)
    search_list = demo.search(word)
    #获取选择的序号
    num = num_va.get()
    novel_id = search_list[int(num)]['BookId']
    name = search_list[int(num)]['BookName']
    #调用爬虫下载函数
    main(novel_id,name)


def novel_info():
    word = name_va.get()
    search_list = demo.search(word)
    #往树状图中插入数据
    for index,stu in enumerate(search_list):
        tree_view.insert('',index+1,values=(stu['Num'],stu(stu['author']),stu['BookName'],stu['BookId']))

def main(novel_id,name):
    pass

#创建界面
root = tk.Tk()
#设置标题
root.title('小说下载器')
#设置窗口大小
root.geometry('600x600+200+200')
#设置标签
search_frame = tk.Frame(root)
#设置输入框的y轴距离
search_frame.pack(pady=10)
#设置可变变量
name_va = tk.StringVar()
#设置文本  .pack()表示显示到界面上
#注意，pack()默认上下布局
tk.Label(search_frame,text='书名 作者',font=('微软雅黑',15)).pack(side=tk.LEFT,padx=10)
#设置输入框   relief:修改输入框样式
tk.Entry(search_frame,relief='flat',textvariable=name_va).pack(side=tk.LEFT)


#设置下载的输入框
download_frame = tk.Frame(root)
download_frame.pack(pady=10)
#序号获取
num_va = tk.StringVar()
#注意，pack()默认上下布局
tk.Label(download_frame,text='小说序号',font=('微软雅黑',15)).pack(side=tk.LEFT,padx=10)
#设置输入框   relief:修改输入框样式
tk.Entry(download_frame,relief='flat',textvariable=num_va).pack(side=tk.LEFT)

#按钮设置
button_frame = tk.Frame(root)
button_frame.pack(pady=10)
#设置查询按钮  padx:设置边距
tk.Button(button_frame,text='查询',font=('微软雅黑',10),relief='flat',bg='#88e2d6',width=10,command=show).pack(side=tk.LEFT,padx=10)
#设置下载按钮
tk.Button(button_frame,text='下载',font=('微软雅黑',10),relief='flat',bg='#88e2d6',width=10,command=download).pack(side=tk.LEFT,padx=10)
# 提前设置标签名字和中文显示内容
columns = ('num','writer','name','novel_id')
columns_value = ('序号','作者','书名','书ID')
tree_view = ttk.Treeview(root,height=18,show='headings',columns=columns)
#设置列名
tree_view.column('num',width=40,anchor='center')
tree_view.column('writer',width=40,anchor='center')
tree_view.column('name',width=40,anchor='center')
tree_view.column('novel_id',width=40,anchor='center')
#给列名设置显示的名字
tree_view.heading('num',text='序号')
tree_view.heading('writer',text='作者')
tree_view.heading('name',text='书名')
tree_view.heading('novel_id',text='书ID')
tree_view.pack(side=tk.LEFT,fill=tk.BOTH,expand=True)

#展示界面
root.mainloop()

